package xyz.eden.cloud.common.core.safety;//package xyz.gavin.eden.common.safety;
//
//import io.jsonwebtoken.JwtBuilder;
//import io.jsonwebtoken.Jwts;
//import io.jsonwebtoken.security.Keys;
//import io.jsonwebtoken.security.MacAlgorithm;
//
//import javax.crypto.SecretKey;
//import java.nio.charset.StandardCharsets;
//import java.util.Date;
//
//public class JwtHelper {
//
//    private static final int access_expire = 60;
//    private static final MacAlgorithm ALGORITHM = Jwts.SIG.HS256;
//    private static final String SECRET = "SECRET_KEY";
//
//    private static final SecretKey SECRET_KEY = Keys.hmacShaKeyFor(SECRET.getBytes(StandardCharsets.UTF_8));
//    private static final String JWT_ISS = "xyz.eden";
//    private static final String SUBJECT = "passport";
//
//    public static String generatorTicket(String sessionDetail) {
//
//    }
//
//    public static String generatorTicket(SessionDetail detail, SecretKey secretKey, Long ttlMillis) {
//
//        return Jwts.builder()
//                .header()
//                .keyId("")
//                .and()
//                .claim()
//                .id("")
//                .expiration(new Date())
//                .issuedAt(new Date())
//                .subject(SUBJECT)
//                .issuer(JWT_ISS)
//                .signWith(SECRET_KEY, ALGORITHM)
//                .compact();
//
//        String jwt = Jwts.builder()
//                .header().add("", "")
//                .keyId("keyId")
//                // ... etc ...
//                .and() //return back to the JwtBuilder
//                .claim("", "")
//
//                .subject("Joe") // resume JwtBuilder calls
//                .signWith()
//                // ... etc ...
//                .compact();
//
//
//        long nowMillis = System.currentTimeMillis();
//        Date now = new Date(nowMillis);
//
//        JwtBuilder builder = Jwts.builder()
//                .setId(id)
//                .setSubject(subject)
//                .setIssuer("user")
//                .setIssuedAt(now)
//                .signWith(key, signatureAlgorithm);
//        if (ttlMillis >= 0) {
//            long expMillis = nowMillis + ttlMillis;
//            Date expDate = new Date(expMillis);
//            //设置过期时间
//            builder.setExpiration(expDate);
//        }
//        return builder.compact();
//    }
//
//}
